package com.genericdao.intf;

import java.util.List;

/**
 * 业务接口，被业务层基类实现
 * @author lin
 *
 * @param <T>
 */
public interface BaseService<T> {
	
	/**
	 * 增加
	 * @param t
	 */
	public void add(T t);
	
	/**
	 * 根据id删除一个实体
	 * @param id
	 */
	public void delete(Integer id);
	
	/**
	 * 更新
	 * @param t
	 */
	public void update(T t);
	
	/**
	 * 根据id 查询并返回一个实体
	 * @param id
	 * @return
	 */
	public T get(Integer id);
	
	/**
	 * 获取全部
	 * @return
	 */
	public List<T> getAll();
	
	/**
	 * 条件查询
	 * @param hqlExpression hql语句
	 * @param parameters 查询参数
	 * @return 符合查询条件的实体集合
	 */
	public List<T> getAll(String hqlExpression,Object... parameters);

}
